﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bukstor.Biz;

namespace Bukstor.UI.Miembros
{
    public partial class MisReservas : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public IEnumerable<ReservaRow> TraerReservas(bool listas)
        {
            BukstorBDEntities Entidades = new BukstorBDEntities();
            int idCliente = (int)Session["cliente"];
            IEnumerable<ReservaRow> salida = from Reserva R in Entidades.Reservas
                                             where R.Cliente.id == idCliente && R.ingresoInventario == listas
                                             select new ReservaRow
                                             {
                                                 Cantidad = R.cantidad,
                                                 Fecha = R.fecha,
                                                 Titulo = R.Libro.titulo,
                                                 IdLibro = R.Libro.id,
                                                 IdReserva = R.id
                                             };
            return salida.ToArray();
        }

        protected void gvReservasListas_SelectedIndexChanged(object sender, EventArgs e)
        {
            BukstorBDEntities entidades = new BukstorBDEntities();
            Carrito carrito = Session["carrito"] as Carrito;
            List<int> reservas = Session["reservas"] as List<int>;
            carrito.Vaciar();
            Reserva reserva = entidades.Reservas.First(i => i.id == (int)gvReservasListas.SelectedValue);
            if(!reserva.LibroReference.IsLoaded)reserva.LibroReference.Load();
            int idLibro = reserva.Libro.id;
            byte cantidad = reserva.cantidad;
            carrito.Agregar(idLibro);
            carrito.ModificarCantidad(idLibro, cantidad);
            if (!reservas.Contains(reserva.id))
            {
                reservas.Add(reserva.id);
            }
            Response.Redirect("~/Miembros/CompraDireccion.aspx", true);
        }
    }
}